package yl.hs.bmipfull.daos.salemanage;

import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import yl.hs.bmipfull.daos.BaseDao;
import yl.hs.bmipfull.pojo.salemanage.ProductPricesEntity;
import yl.hs.bmipfull.viewmodels.salemanmage.SetTimeVO;

import java.util.List;
import java.util.Map;

/**
 * 作用:  产品信息价持久层接口<br/>
 * 创建时间: 2021年06月08日 09时27分20秒 <br/>
 *
 * @author 张凯
 */
@Repository
public interface IProductPricesDao extends BaseDao<ProductPricesEntity> {

    /**
     * 查询产品信息价信息
     *
     * @param map 查询条件 {@link ProductPricesEntity}
     * @return 产品信息价-List<{@link ProductPricesEntity}>
     */
    List<ProductPricesEntity> queryList(@Param("map") Map<String, Object> map);

    /**
     * 分页查询产品信息价信息
     *
     * @param map 查询条件 {@link ProductPricesEntity}
     * @return 站内信息-List<{@link ProductPricesEntity}>
     */
    List<ProductPricesEntity> queryPage(@Param("map") Map<String, Object> map,@Param("filters") List<Map<String,Object>> filters);

    /**
     * 根据查询条件统计数据数量
     *
     * @param map 查询条件
     * @return 数据数量
     */
    Integer queryCountByCondition(@Param("map") Map<String, Object> map,@Param("filters") List<Map<String,Object>> filters);

    @MapKey("sn")
    List<Map<String,Object>> queryProductPriceView(@Param("map") Map<String, Object> map,@Param("filters") List<Map<String,Object>> filters);

    @MapKey("sn")
    List<Map<String, Object>> findProductPriceList(String productSN);

    /**
     * 获取所有的设置时间
     * @return 设置信息信息
     */
    List<SetTimeVO> getSetTime();

    Integer deleteBySN(String sn);
}